# near model CODE resource # jump table entries: 0-9 (10 of them) 00000000 0000 0000 ori.b D0, 0x0 00000004 0000 0072 ori.b D0, 0x72 /* 'r' */ export_0: 00000008 4278 0A4A clr.w [0x00000A4A /* FPState */] 0000000C 9DCE sub.l A6, A6 0000000E 2C3C 5354 5253 move.l D6, 0x53545253 /* 'STRS' */ 00000014 4EBA 032E jsr [PC + 0x32E /* 00000344 */] 00000018 41FA FFE6 lea.l A0, [PC - 0x1A /* 00000000, value 0x0, cstring "" */] 0000001C 208C move.l [A0], A4 0000001E 4EBA 009C jsr [PC + 0x9C /* 000000BC */] 00000022 4EBA 029E jsr [PC + 0x29E /* 000002C2 */] 00000026 4267 clr.w -[A7] 00000028 4879 0000 FFFF push.l 0xFFFF 0000002E 486F 0004 pea.l [A7 + 0x4] 00000032 4857 pea.l [A7] 00000034 3F3C 0001 move.w -[A7], 0x1 00000038 223A FFCA move.l D1, [PC - 0x36 /* 00000004, value 0x72 'r', cstring "" */] 0000003C 4EB5 1000 jsr [A5 + D1.w] 00000040 4EFA 0074 jmp [PC + 0x74 /* 000000B6 */] 00000044 48E7 FFF8 movem.l -[A7], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4 00000048 3E2F 003C move.w D7, [A7 + 0x3C] 0000004C 203C 0000 8000 move.l D0, 0x8000 00000052 A040 syscall ResrvMem/ReserveMem 00000054 50F8 0A5E st [0x00000A5E /* ResLoad */] 00000058 598F subq.l A7, 4 0000005A 2F3C 434F 4445 move.l -[A7], 0x434F4445 /* 'CODE' */ 00000060 3F07 move.w -[A7], D7 00000062 A9A0 syscall GetResource 00000064 201F move.l D0, [A7]+ 00000066 6736 beq +0x38 /* 0000009E */ 00000068 2040 movea.l A0, D0 0000006A 2450 movea.l A2, [A0] 0000006C 082A 0000 0001 btst.b [A2 + 0x1], 0x0 00000072 6720 beq +0x22 /* 00000094 */ 00000074 0010 00C0 ori.b [A0], 0xC0 00000078 0812 0007 btst.b [A2], 0x7 0000007C 6716 beq +0x18 /* 00000094 */ 0000007E 598F subq.l A7, 4 00000080 2F3C 4352 454C move.l -[A7], 0x4352454C /* 'CREL' */ 00000086 3F07 move.w -[A7], D7 00000088 A9A0 syscall GetResource 0000008A 201F move.l D0, [A7]+ 0000008C 6710 beq +0x12 /* 0000009E */ 0000008E 2040 movea.l A0, D0 00000090 4EBA 0076 jsr [PC + 0x76 /* 00000108 */] label00000094: 00000094 0252 7FFE andi.w [A2], 0x7FFE 00000098 4CDF 1FFF movem.l D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4, [A7]+ 0000009C 4E75 rts label0000009E: 0000009E 700F moveq.l D0, 0x0F 000000A0 A9C9 syscall SysError 000000A2 2F08 move.l -[A7], A0 000000A4 4EBA 024C jsr [PC + 0x24C /* 000002F2 */] 000000A8 205F movea.l A0, [A7]+ 000000AA A9F2 syscall Launch/LaunchApplication 000000AC 2F08 move.l -[A7], A0 000000AE 4EBA 0242 jsr [PC + 0x242 /* 000002F2 */] 000000B2 205F movea.l A0, [A7]+ 000000B4 A9F3 syscall Chain label000000B6: 000000B6 4EBA 023A jsr [PC + 0x23A /* 000002F2 */] 000000BA A9F4 syscall ExitToShell fn000000BC: 000000BC 598F subq.l A7, 4 000000BE 2F3C 5A45 524F move.l -[A7], 0x5A45524F /* 'ZERO' */ 000000C4 4267 clr.w -[A7] 000000C6 A9A0 syscall GetResource 000000C8 2457 movea.l A2, [A7] 000000CA 598F subq.l A7, 4 000000CC 2F3C 4441 5441 move.l -[A7], 0x44415441 /* 'DATA' */ 000000D2 4267 clr.w -[A7] 000000D4 A9A0 syscall GetResource 000000D6 2057 movea.l A0, [A7] 000000D8 2050 movea.l A0, [A0] 000000DA 2278 0908 movea.l A1, [0x00000908 /* CurStackBase */] 000000DE 2452 movea.l A2, [A2] 000000E0 600E bra +0x10 /* 000000F0 */ label000000E2: 000000E2 32D8 move.w [A1]+, [A0]+ 000000E4 660A bne +0xC /* 000000F0 */ 000000E6 321A move.w D1, [A2]+ 000000E8 6002 bra +0x4 /* 000000EC */ label000000EA: 000000EA 4219 clr.b [A1]+ label000000EC: 000000EC 51C9 FFFC dbf D1, -0x6 /* 000000EA */ label000000F0: 000000F0 BBC9 cmpa.l A5, A1 000000F2 66EE bne -0x10 /* 000000E2 */ 000000F4 A9A3 syscall ReleaseResource 000000F6 A9A3 syscall ReleaseResource 000000F8 598F subq.l A7, 4 000000FA 2F3C 4452 454C move.l -[A7], 0x4452454C /* 'DREL' */ 00000100 4267 clr.w -[A7] 00000102 A9A0 syscall GetResource 00000104 205F movea.l A0, [A7]+ 00000106 244D movea.l A2, A5 fn00000108: 00000108 A025 syscall GetHandleSize 0000010A 2F08 move.l -[A7], A0 0000010C 2050 movea.l A0, [A0] 0000010E E240 asr D0.w, 1 00000110 6012 bra +0x14 /* 00000124 */ label00000112: 00000112 240D move.l D2, A5 00000114 3218 move.w D1, [A0]+ 00000116 0881 0000 bclr.b D1, 0x0 0000011A 6704 beq +0x6 /* 00000120 */ 0000011C 243A FEE2 move.l D2, [PC - 0x11E /* 00000000, value 0x0, cstring "" */] label00000120: 00000120 D5B2 1000 add.l [A2 + D1.w], D2 label00000124: 00000124 51C8 FFEC dbf D0, -0x16 /* 00000112 */ 00000128 A9A3 syscall ReleaseResource 0000012A 4E75 rts export_1: 0000012C 205F movea.l A0, [A7]+ 0000012E 3218 move.w D1, [A0]+ label00000130: 00000130 3418 move.w D2, [A0]+ 00000132 B058 cmp.w D0, [A0]+ 00000134 57C9 FFFA dbeq D1, -0x8 /* 00000130 */ 00000138 4A42 tst.w D2 label0000013A: 0000013A 67FE beq -0x0 /* 0000013A */ 0000013C 4EF0 20FC jmp [A0 + D2.w - 0x4] export_2: 00000140 205F movea.l A0, [A7]+ 00000142 3218 move.w D1, [A0]+ label00000144: 00000144 3418 move.w D2, [A0]+ 00000146 B098 cmp.l D0, [A0]+ 00000148 57C9 FFFA dbeq D1, -0x8 /* 00000144 */ 0000014C 4A42 tst.w D2 label0000014E: 0000014E 67FE beq -0x0 /* 0000014E */ 00000150 4EF0 20FA jmp [A0 + D2.w - 0x6] export_3: 00000154 205F movea.l A0, [A7]+ 00000156 3218 move.w D1, [A0]+ 00000158 3418 move.w D2, [A0]+ 0000015A B042 cmp.w D0, D2 0000015C 6E0A bgt +0xC /* 00000168 */ 0000015E 9041 sub.w D0, D1 00000160 6D06 blt +0x8 /* 00000168 */ 00000162 D040 add.w D0, D0 00000164 41F0 0002 lea.l A0, [A0 + D0.w + 0x2] label00000168: 00000168 3010 move.w D0, [A0] label0000016A: 0000016A 67FE beq -0x0 /* 0000016A */ 0000016C 4EF0 0000 jmp [A0 + D0.w] export_4: 00000170 202F 0004 move.l D0, [A7 + 0x4] 00000174 2F41 0004 move.l [A7 + 0x4], D1 00000178 222F 0008 move.l D1, [A7 + 0x8] 0000017C 2F5F 0004 move.l [A7 + 0x4], [A7]+ 00000180 48E7 3C00 movem.l -[A7], D2,D3,D4,D5 00000184 2400 move.l D2, D0 00000186 2601 move.l D3, D1 00000188 4842 swap.w D2 0000018A C4C3 mulu.w D2, D3 0000018C 2800 move.l D4, D0 0000018E 2A01 move.l D5, D1 00000190 4845 swap.w D5 00000192 C8C5 mulu.w D4, D5 00000194 D444 add.w D2, D4 00000196 4842 swap.w D2 00000198 4242 clr.w D2 0000019A C0C1 mulu.w D0, D1 0000019C D082 add.l D0, D2 0000019E 4CDF 003C movem.l D2,D3,D4,D5, [A7]+ 000001A2 221F move.l D1, [A7]+ 000001A4 4E75 rts export_5: 000001A6 202F 0004 move.l D0, [A7 + 0x4] 000001AA 2F41 0004 move.l [A7 + 0x4], D1 000001AE 222F 0008 move.l D1, [A7 + 0x8] 000001B2 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001B6 48E7 3100 movem.l -[A7], D2,D3,D7 000001BA 4EBA 009C jsr [PC + 0x9C /* 00000258 */] 000001BE 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001C2 221F move.l D1, [A7]+ 000001C4 4E75 rts export_6: 000001C6 202F 0004 move.l D0, [A7 + 0x4] 000001CA 2F41 0004 move.l [A7 + 0x4], D1 000001CE 222F 0008 move.l D1, [A7 + 0x8] 000001D2 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001D6 48E7 3100 movem.l -[A7], D2,D3,D7 000001DA 4EBA 007C jsr [PC + 0x7C /* 00000258 */] 000001DE 2001 move.l D0, D1 000001E0 4CDF 008C movem.l D2,D3,D7, [A7]+ 000001E4 221F move.l D1, [A7]+ 000001E6 4E75 rts export_7: 000001E8 202F 0004 move.l D0, [A7 + 0x4] 000001EC 2F41 0004 move.l [A7 + 0x4], D1 000001F0 222F 0008 move.l D1, [A7 + 0x8] 000001F4 2F5F 0004 move.l [A7 + 0x4], [A7]+ 000001F8 48E7 3100 movem.l -[A7], D2,D3,D7 000001FC 4EBA 002C jsr [PC + 0x2C /* 0000022A */] 00000200 4CDF 008C movem.l D2,D3,D7, [A7]+ 00000204 221F move.l D1, [A7]+ 00000206 4E75 rts export_8: 00000208 202F 0004 move.l D0, [A7 + 0x4] 0000020C 2F41 0004 move.l [A7 + 0x4], D1 00000210 222F 0008 move.l D1, [A7 + 0x8] 00000214 2F5F 0004 move.l [A7 + 0x4], [A7]+ 00000218 48E7 3100 movem.l -[A7], D2,D3,D7 0000021C 4EBA 000C jsr [PC + 0xC /* 0000022A */] 00000220 2001 move.l D0, D1 00000222 4CDF 008C movem.l D2,D3,D7, [A7]+ 00000226 221F move.l D1, [A7]+ 00000228 4E75 rts fn0000022A: 0000022A 4A80 tst.l D0 0000022C 6A1C bpl +0x1E /* 0000024A */ 0000022E 4A81 tst.l D1 00000230 6A0C bpl +0xE /* 0000023E */ 00000232 4480 neg.l D0 00000234 4481 neg.l D1 00000236 4EBA 0020 jsr [PC + 0x20 /* 00000258 */] 0000023A 4481 neg.l D1 0000023C 4E75 rts label0000023E: 0000023E 4480 neg.l D0 00000240 4EBA 0016 jsr [PC + 0x16 /* 00000258 */] 00000244 4480 neg.l D0 00000246 4481 neg.l D1 00000248 4E75 rts label0000024A: 0000024A 4A81 tst.l D1 0000024C 6A0A bpl +0xC /* 00000258 */ 0000024E 4481 neg.l D1 00000250 4EBA 0006 jsr [PC + 0x6 /* 00000258 */] 00000254 4480 neg.l D0 00000256 4E75 rts fn00000258: 00000258 2E3C 0000 FFFF move.l D7, 0xFFFF 0000025E B280 cmp.l D1, D0 00000260 6306 bls +0x8 /* 00000268 */ 00000262 2200 move.l D1, D0 00000264 7000 moveq.l D0, 0x00 00000266 4E75 rts label00000268: 00000268 B087 cmp.l D0, D7 0000026A 620C bhi +0xE /* 00000278 */ 0000026C 80C1 divu.w D0, D1 0000026E 4840 swap.w D0 00000270 3200 move.w D1, D0 00000272 4240 clr.w D0 00000274 4840 swap.w D0 00000276 4E75 rts label00000278: 00000278 B287 cmp.l D1, D7 0000027A 621A bhi +0x1C /* 00000296 */ 0000027C 2E00 move.l D7, D0 0000027E 4240 clr.w D0 00000280 4840 swap.w D0 00000282 80C1 divu.w D0, D1 00000284 4840 swap.w D0 00000286 4847 swap.w D7 00000288 3E00 move.w D7, D0 0000028A 4847 swap.w D7 0000028C 8EC1 divu.w D7, D1 0000028E 3007 move.w D0, D7 00000290 4847 swap.w D7 00000292 3207 move.w D1, D7 00000294 4E75 rts label00000296: 00000296 2400 move.l D2, D0 00000298 2601 move.l D3, D1 label0000029A: 0000029A E288 lsr D0, 1 0000029C E289 lsr D1, 1 0000029E B287 cmp.l D1, D7 000002A0 62F8 bhi -0x6 /* 0000029A */ 000002A2 80C1 divu.w D0, D1 000002A4 C087 and.l D0, D7 label000002A6: 000002A6 3203 move.w D1, D3 000002A8 C2C0 mulu.w D1, D0 000002AA 2E03 move.l D7, D3 000002AC 4847 swap.w D7 000002AE CEC0 mulu.w D7, D0 000002B0 4847 swap.w D7 000002B2 D287 add.l D1, D7 000002B4 6508 bcs +0xA /* 000002BE */ 000002B6 9282 sub.l D1, D2 000002B8 6204 bhi +0x6 /* 000002BE */ 000002BA 4481 neg.l D1 000002BC 4E75 rts label000002BE: 000002BE 5340 subq.w D0, 1 000002C0 60E4 bra -0x1A /* 000002A6 */ fn000002C2: 000002C2 323C A9F0 move.w D1, 0xA9F0 000002C6 43FA FD7C lea.l A1, [PC - 0x284 /* 00000044, value 0x48E7FFF8 */] 000002CA 4EBA 004A jsr [PC + 0x4A /* 00000316 */] 000002CE 323C A9F2 move.w D1, 0xA9F2 000002D2 43FA FDCE lea.l A1, [PC - 0x232 /* 000000A2, value 0x2F084EBA */] 000002D6 4EBA 003E jsr [PC + 0x3E /* 00000316 */] 000002DA 323C A9F3 move.w D1, 0xA9F3 000002DE 43FA FDCC lea.l A1, [PC - 0x234 /* 000000AC, value 0x2F084EBA */] 000002E2 4EBA 0032 jsr [PC + 0x32 /* 00000316 */] 000002E6 323C A9F4 move.w D1, 0xA9F4 000002EA 43FA FDCA lea.l A1, [PC - 0x236 /* 000000B6, value 0x4EBA023A */] 000002EE 4EFA 0026 jmp [PC + 0x26 /* 00000316 */] fn000002F2: 000002F2 4EBA 00E0 jsr [PC + 0xE0 /* 000003D4 */] 000002F6 323C A9F0 move.w D1, 0xA9F0 000002FA 4EBA 0036 jsr [PC + 0x36 /* 00000332 */] 000002FE 323C A9F2 move.w D1, 0xA9F2 00000302 4EBA 002E jsr [PC + 0x2E /* 00000332 */] 00000306 323C A9F3 move.w D1, 0xA9F3 0000030A 4EBA 0026 jsr [PC + 0x26 /* 00000332 */] 0000030E 323C A9F4 move.w D1, 0xA9F4 00000312 4EFA 001E jmp [PC + 0x1E /* 00000332 */] fn00000316: 00000316 3001 move.w D0, D1 00000318 A146 syscall GetTrapAddress, flags=1 0000031A 2448 movea.l A2, A0 0000031C 700C moveq.l D0, 0x0C 0000031E A51E syscall NewPtrSys, flags=5 00000320 3001 move.w D0, D1 00000322 A047 syscall SetTrapAddress 00000324 30FC 4EB9 move.w [A0]+, 0x4EB9 00000328 20C9 move.l [A0]+, A1 0000032A 30FC 4EF9 move.w [A0]+, 0x4EF9 0000032E 20CA move.l [A0]+, A2 00000330 4E75 rts fn00000332: 00000332 3001 move.w D0, D1 00000334 A146 syscall GetTrapAddress, flags=1 00000336 2268 0008 movea.l A1, [A0 + 0x8] 0000033A A01F syscall DisposPtr/DisposePtr 0000033C 3001 move.w D0, D1 0000033E 2049 movea.l A0, A1 00000340 A047 syscall SetTrapAddress 00000342 4E75 rts fn00000344: 00000344 4238 0A5E clr.b [0x00000A5E /* ResLoad */] 00000348 598F subq.l A7, 4 0000034A 2F06 move.l -[A7], D6 0000034C 4267 clr.w -[A7] 0000034E A9A0 syscall GetResource 00000350 265F movea.l A3, [A7]+ 00000352 598F subq.l A7, 4 00000354 2F0B move.l -[A7], A3 00000356 A9A5 syscall GetResourceSizeOnDisk/SizeResource/SizeRsrc 00000358 261F move.l D3, [A7]+ 0000035A 204B movea.l A0, A3 0000035C 2803 move.l D4, D3 0000035E 3E3C 0081 move.w D7, 0x81 00000362 6012 bra +0x14 /* 00000376 */ label00000364: 00000364 0684 0000 7FFE addi.l D4, 0x7FFE 0000036A 598F subq.l A7, 4 0000036C 2F06 move.l -[A7], D6 0000036E 3F07 move.w -[A7], D7 00000370 5247 addq.w D7, 1 00000372 A9A0 syscall GetResource 00000374 205F movea.l A0, [A7]+ label00000376: 00000376 558F subq.l A7, 2 00000378 2F08 move.l -[A7], A0 0000037A A9A6 syscall GetResAttrs 0000037C 301F move.w D0, [A7]+ 0000037E 0800 0005 btst.b D0, 0x5 00000382 66E0 bne -0x1E /* 00000364 */ 00000384 50F8 0A5E st [0x00000A5E /* ResLoad */] 00000388 2004 move.l D0, D4 0000038A A11E syscall NewPtr, flags=1 0000038C 2848 movea.l A4, A0 0000038E 2F0B move.l -[A7], A3 00000390 A9A2 syscall LoadResource 00000392 204B movea.l A0, A3 00000394 2003 move.l D0, D3 00000396 3A07 move.w D5, D7 00000398 3E3C 0081 move.w D7, 0x81 0000039C 9A47 sub.w D5, D7 0000039E 6012 bra +0x14 /* 000003B2 */ label000003A0: 000003A0 598F subq.l A7, 4 000003A2 2F06 move.l -[A7], D6 000003A4 3F07 move.w -[A7], D7 000003A6 5247 addq.w D7, 1 000003A8 A9A0 syscall GetResource 000003AA 205F movea.l A0, [A7]+ 000003AC 203C 0000 7FFE move.l D0, 0x7FFE label000003B2: 000003B2 2F08 move.l -[A7], A0 000003B4 2050 movea.l A0, [A0] 000003B6 224C movea.l A1, A4 000003B8 D9C0 add.l A4, D0 000003BA A02E syscall BlockMove/BlockMoveData 000003BC A9A3 syscall ReleaseResource 000003BE 51CD FFE0 dbf D5, -0x22 /* 000003A0 */ 000003C2 99C4 sub.l A4, D4 000003C4 4E75 rts 000003C6 0000 0000 ori.b D0, 0x0 export_9: 000003CA 41FA FFFA lea.l A0, [PC - 0x6 /* 000003C6, value 0x0, cstring "" */] 000003CE 20AF 0004 move.l [A0], [A7 + 0x4] 000003D2 4E75 rts fn000003D4: 000003D4 41FA FFF0 lea.l A0, [PC - 0x10 /* 000003C6, value 0x0, cstring "" */] 000003D8 2010 move.l D0, [A0] 000003DA 6602 bne +0x4 /* 000003DE */ 000003DC 4E75 rts label000003DE: 000003DE 4290 clr.l [A0] 000003E0 2040 movea.l A0, D0 000003E2 4ED0 jmp [A0]